AlgoWiki

Minimum Steiner tree

In the minimum Steiner tree problem, we are given an edge-weighted graph $G = (V, E, w)$ and a subset $S \subseteq V$ of required vertices. A Steiner tree is a tree in $G$ that spans all vertices of $S$, meaning that they are all in the same component. The objective of the problem is to find a Steiner tree of minimum weight. The decision version of the problem is NP-complete. However, it is fixed-parameter tractable when parameterized by the size of $S$, as is witnessed by the dynamic programming algorithm shown below.

Algorithms

Complete search

Time complexity is $O\left(\binom{n}{k-2} k^2 \log(k)\right)$, where $n=|V|$ and $k=|S|$.

Dynamic programming

Time complexity is $O(n3^k + n^22^k)$.

Problems

See also

External links